﻿

using DAL.Models;
using System.Collections.Generic;
using System.Data.Entity;
using System.Data;
using System.Collections;
using System.Web.Helpers;
using System.IO;
using System.Web.Security;
using BLC.Controller;



using System;
using System.Collections.Generic;
using System.DirectoryServices.AccountManagement;
using System.Linq;
using System.Security.Principal;
using System.Threading;
using System.Web;
using System.Web.Mvc;
using System.Web.Script.Serialization;
using System.Web.Security;
using ViewModel.Models;

namespace ODSYSUI.Controllers
{
    public class LogueoController : Controller
    {


         [HttpGet]
         public ActionResult Index()
         {

            return View();

         }


          [HttpPost]
           public ActionResult Index(LogueoViewModel obj)
           {
               if (ModelState.IsValid) //Verificar que el modelo de datos sea válido en cuanto a la definición de las propiedades
               {
                    if (LogueoBLC.Isvalid(obj))//Verificar que el usuario y password exista utilizando el método privado
                       {


                           //MUESTRA EL NOMBRE DEL USUARIO LOGUEADO EN EL SISTEMA
                           //Y SALE EN LA MASTER PAGE QUE ESTA EN LA CARPETA SHARED Y SE LLAMA _StatusBar
                           IIdentity identity = new GenericIdentity(obj.Usuario, Membership.Provider.Name);
                           FormsAuthentication.SetAuthCookie(obj.Usuario, true);
                           TimeSpan SessTimeOut = new TimeSpan(0, 0, HttpContext.Session.Timeout, 0, 0);
                           HttpContext.Cache.Insert(obj.Usuario, obj.Usuario, null, DateTime.MaxValue, SessTimeOut, System.Web.Caching.CacheItemPriority.NotRemovable, null);



                         return RedirectToAction("Index", "Home"); //dirigir al controlador home vista Index una vez se a autenticado en el sistema
                           
                       }
                     else
                        {
                        TempData["Error"] = "El usuario y la contraseña con incorrectos";
                        }
                   
                }
                   

               


            return View();
            }

    }





    }

